package com.shujia.five;

public class OperatorDemo4 {

    /*
    逻辑运算符
    &—逻辑与(并且)	| —逻辑或(或者)
    ！—逻辑非(取反)	&& —短路与
    || —短路或	^ —逻辑异或
     */
    public static void main(String[] args) {

        boolean b1 = true, b2 = false, b3 = true, b4 = false;


        // ^ —逻辑异或
        // 异 -> 异性,
        // true -> 男; false -> 女
        // 异或两边boolean值不同的话结果是true
        // 相同的话结果是false
        System.out.println(b1 ^ b2);


        // &—逻辑与(并且)
        // b1和b2都是true的话, 结果才是true
        // 只要有一个false, 结果就是false
        boolean result = b1 & b2;
        result = b1 & b3;
        System.out.println(result);

        // | —逻辑或(或者)
        // 左右两边只要有一个是true, 结果就是true
        // 两边都是false, 结果才是false
        // result = b1 | b2;
        // result = b2 | b1;
        result = b2 | b4;
        System.out.println(result);

        // ！—逻辑非(取反)
        // 对true取反结果是false, 对false取反结果是true
        System.out.println(!b1);
        System.out.println(!false);

    }
}
